1. Field of the Invention
The present invention relates to a scientific visualization system and, more particularly, to a system for visualizing in three dimensions the results of finite-element or finite-difference analysis.
2. Description of the Related Art
Finite-element and finite-difference methods are used in such areas as stress or thermal analysis of three-dimensional (3D) mechanical parts or fluid flow analysis around a solid object or within an object. These analysis techniques model the object or the domain of interest as a collection of polyhedra (called elements) that together form the object of interest. During or after the analysis, results are generated at the corners (called nodes or vertices) of all the polyhedra. Example of results at the nodes are stresses, temperature, fluid velocity components and fluid pressures. In complex models the number of polyhedra can reach into the hundreds or thousands. The number of nodes can easily reach into the thousands. The problem is how to graphically visualize and interpret the generated results at these nodes located in the 3D space efficiently and interactively.
One visualization technique involves intersecting the model with a user-defined plane and showing the results as color-coded Gouraud-shaded polygons on the intersection plane. (Gouraud shading is a technique whereby, given the colors at the corners of a polygon, the interior of the polygon is filled with colors that are a linear combination of the colors that are at the corners.) Usually the plane is translated along a straight-line path interactively and the changing results on the plane are shown.
Another useful technique is to draw all points in a model that represent a constant value of some analysis variable. In general this could result in a surface or several unconnected surfaces within the model. These surfaces are called iso-surfaces or contour surfaces. One may also wish to study how one analysis variable changes over a single contour surface of another variable. The use of these contour surfaces can be understood in the following context: Consider all points within a mechanical part that are at a design stress level. This contour surface divides the parts into various regions. Some of these regions will be below the design stress level while others will be above it. The contour surface then gives a visual cue to the designer as to which regions must be redesigned. In addition, observing the evolution of contour surfaces (watching the surfaces deform as one marches up and down the possible contour values) can provide additional clues to the understanding of a solution to a problem (especially a fluid flow problem).
Another problem in scientific visualization systems of this sort is how to extract only the outer face of a given set of polyhedra. There are two uses for extracting this information. First, one can draw the outer faces in transparency to show a shaded model without drawing all the other faces inside. Second, if one wishes to see results only on the outside of the model, the Gouraud-shaded outer faces alone need to be drawn. All the results of faces inside the model will be hidden and thus need not be considered for rendering.